home *** CD-ROM | disk | FTP | other *** search
- (
- ( Re-establishes the relationship between target objects and an animation
- ( method ie. assigns 0 to all ISKE tags of the selected objects.
- (
-
- "objects.rpl" LOAD
- "locks.rpl" LOAD
- "tags.rpl" LOAD
-
- : ReClearISKE
- PARAM
- VARIABLE aObject
- ENDPARAM
-
- ( check if there is 'ISKE' tags attached to the object and clear it
- aObject FETCH "ISKE" O_FINDTAG DUP
- IF
- T.aVAL + 0 SWAP STORE
- ELSE
- DROP
- ENDIF
- ;
-
- ( Recursively handle given object
-
- : ReEstabl
- PARAM
- VARIABLE aObj
- ENDPARAM
-
- aObj FETCH ReClearISKE
-
- aObj FETCH O_GETSUB
- BEGIN DUP WHILE
- DUP ReEstabl
- O_GETNEXT
- REPEAT
- DROP
- ;
-
-
- ( Re-establish selected objects
-
- : ReEstablish
-
- ( Lock object data
- iLOCK_SHARED O_LOCK
-
- ( fetch selected objects on stack
- O_GETSEL
-
- ( scan through selected objects and call 'ReEstabl'
- BEGIN DUP WHILE
- ReEstabl
- REPEAT
- DROP
-
- ( release object data
- iLOCK_REMOVE O_LOCK
- ;
-
- ( call Re-Establish when this file is loaded
- ReEstablish
-
- ( Get rid of ReEstablish
- FORGET ReClearISKE
-